const fs = require('fs');
const path = require('path');

// 有很多流 类型 文件流 网络流 进程流

// 为什么需要流
//  1. 节省内存
// 文件太大 需要用流的方式读取
//  不然太占内存了
//  可以读出来一点 然后写到 磁盘里面去
// 2. 内存读取快 磁盘读取写入慢

//方式2
async function method2() {
  const from = path.resolve(__dirname, './temp/abc.txt');
  const to = path.resolve(__dirname, './temp/abc2.txt');
  console.time('方式2');

  const rs = fs.createReadStream(from);
  const ws = fs.createWriteStream(to);

  // 读取流  的管道  pipe  和 写入流的管道 接起来 读出来 写入 直接这么写
  // 相当于 copy里面 method3的写法  帮你解决了 背压问题
  // 所有流的 方式 都是通用的
  rs.pipe(ws);

  rs.on('close', () => {
    console.timeEnd('方式2');
  });
}

method2();
